package com.thinvent.recommend.common.enums;

/**
 * 文件类型枚举：区分记录是“文件”还是“文件夹”。
 * 对应表 t_kb_user_favorite 中的 IS_FOLDER 字段：
 * 0 – 文件
 * 1 – 文件夹
 */
public enum IsFolderTypeEnums {

    FILE  ("0", "文件"),
    FOLDER("1", "文件夹");

    private final String code;
    private final String description;

    IsFolderTypeEnums(String code, String description) {
        this.code = code;
        this.description = description;
    }

    /** 返回数据库中存储的代码 */
    public String getCode() {
        return code;
    }

    /** 返回人-readable 描述 */
    public String getDescription() {
        return description;
    }

    /**
     * 根据 code 获取枚举实例
     * @param code “0” 或 “1”
     * @return 对应的 IsFolderType
     * @throws IllegalArgumentException 如果传入的 code 不合法
     */
    public static IsFolderTypeEnums fromCode(String code) {
        for (IsFolderTypeEnums t : values()) {
            if (t.code.equals(code)) {
                return t;
            }
        }
        throw new IllegalArgumentException("Unknown IsFolderType code: " + code);
    }

    @Override
    public String toString() {
        return code + " (" + description + ")";
    }
}
